From 7070eec417934360bf3aed434191246dfe4f8091 Mon Sep 17 00:00:00 2001 From: Julien Grall Date: Fri, 9 Jan 2015 15:56:45 +0000 Subject: [PATCH] libxl: Don't ignore error when we fail to give access to ioport/irq/iomem If we fail to give the access, the domain will unlikely work correctly. So we should bail out at the first error. Signed-off-by: Julien Grall Cc: Ian Jackson Cc: Stefano Stabellini Cc: Ian Campbell Cc: Wei Liu Acked-by: Wei Liu --- tools/libxl/libxl_create.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index 11982254f2..6f87d1c6b2 100644 --- a/tools/libxl/libxl_create.c +++ b/tools/libxl/libxl_create.c @@ -1167,6 +1167,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev, "failed give dom%d access to ioports %"PRIx32"-%"PRIx32, domid, io->first, io->first + io->number - 1); ret = ERROR_FAIL; + goto error_out; } } @@ -1182,6 +1183,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev, if (ret < 0) { LOGE(ERROR, "failed give dom%d access to irq %d", domid, irq); ret = ERROR_FAIL; + goto error_out; } } @@ -1198,7 +1200,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev, "failed give dom%d access to iomem range %"PRIx64"-%"PRIx64, domid, io->start, io->start + io->number - 1); ret = ERROR_FAIL; - continue; + goto error_out; } ret = xc_domain_memory_mapping(CTX->xch, domid, io->gfn, io->start, @@ -1209,6 +1211,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev, " to guest address %"PRIx64, domid, io->start, io->start + io->number - 1, io->gfn); ret = ERROR_FAIL; + goto error_out; } } -- 2.30.2